﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/*
 Enumerações utilizadas pela camada MODEL.
*/
namespace Duet.Model.Core
{
    public enum LoginState
    {
        /// <summary>
        /// 0 - Validação OK
        /// </summary>
        UserOK = 0,

        /// <summary>
        /// 1 - Usuário invalido
        /// </summary>
        InvalidUser = 1,

        /// <summary>
        /// 2 - Senha incorreta
        /// </summary>
        IncorectPwd = 2,

        /// <summary>
        /// 3 - Senha em branco
        /// </summary>
        BlankPwd = 3,

        /// <summary>
        /// 4 - Aviso de segundo erro de senha
        /// </summary>
        Warning2ndPwdError = 4,

        /// <summary>
        /// 5 - Usuário bloqueado
        /// </summary>
        BlockedUser = 5,

        /// <summary>
        /// 6 - Usuário ainda não acessou o GS1
        /// </summary>
        Pendent = 6,

        /// <summary>
        /// 7 - Usuário foi desbloqueado
        /// </summary>
        UnlockedUser = 7,

        /// <summary>
        /// 8 - Usuário com senha expirada
        /// </summary>
        ExpiredPassword = 8,

        /// <summary>
        /// 9 - Reset de Senha
        /// </summary>
        ResetPassword = 9
    }

    public enum FuncionalidadesLog
    {
        GestaoPerfisAcesso = 2,
        Idioma = 3,
        AlterarSenha = 4,
        CadastroUsuarios = 5,
        CadastroPapelGln = 6,
        CadastroAgencia = 7,
        CadastroTipoProduto = 8,
        ImportacaoGPC = 9, 
        CadastroFAQ = 10, 
        ConsultaAssociado = 11, 
        ParametrosSistema = 12, 
        AdministracaoUsuarios = 13, 
        CadastroProduto = 15, 
        ImportacaoProduto = 16,
        CadastroGLN = 17, 
        ImpressaoCodigoBarras = 18, 
        GeracaoEPC = 19, 
        CertificacaoPesoMedida = 21, 
        CertificacaoCodigBarras = 22, 
        Relatorios = 23, 
        RelatoriodeImpressao = 24, 
        RelatoriodeImpressaoAssociado = 25, 
        RelatorioCertificado = 26, 
        RelatorioCertificadoAssociado = 27, 
        RelatoriodeLocalizacoesFísicas = 28, 
        RelatoriodeLocalizacoesFísicasAssociado = 29, 
        RelatoriodeHistoricoUso = 30,
        RelatoriodeHistoricoUsoAssociado = 31, 
        RelatoriodeLoginAcesso = 32, 
        RelatoriodeLoginAcessoAssociado = 33, 
        RelatoriodeProdutoItem = 34, 
        RelatoriodeProdutoItemAssociado = 35, 
        RelatoriodeAssociadoAdm = 36, 
        Faq = 38
    }

    public enum AcoesLog
    {
        Consultou = 1,
        Incluiu = 2,
        Alterou = 3,
        Excluiu = 4,
        Acessou = 5,
        Saiu = 6,
        Logou = 7,
        AlterouSenha = 8,
        Encerrou = 9,
        Importou = 10,
        Aprovou = 11,
        ConsultouCEP = 12,
        SelecionouCEP = 13,
        Gerou = 14,
        Filtrou = 15,
        IniciouInclusao = 16,
        Traduziu = 17,
        Exportou = 18,
        Imprimiu = 19
    }

    public enum SystemParameter {
        ExpiraSenha = 1,
        HistoricoSenha = 2,
        QuantidadeBrickType = 3,
        QuantidadeBrickValue = 4,
        ImagemProduto = 5,
        SincronizarWS = 6
    }

    public enum CodigoLicenca
    {
        GTIN13 = 1,
        GTIN8 = 2,
        UCC = 3,
        GLN = 4,
        CONFPM = 5,
        CERTIFCB = 6
    }

    /// <summary>
    /// Enum para identificar o tipo de gtin cadastrado na tabela de Associado Produto.
    /// </summary>
    public enum CodigoTipoGtin
    {
        GTIN8 = 8,
        GTIN12 = 12,
        GTIN13 = 13,
        GTIN14 = 14
    }
}